﻿using System;
using System.Data.Entity;
using Medora.DataContract;

namespace Medora.Data.Helpers
{
   
    public interface IRepositoryProvider
    {
   
        DbContext DbContext { get; set; }

        IRepository<T> GetRepositoryForEntityType<T>() where T : class;

        void SetRepository<T>(T repository);

        T GetRepository<T>(Func<DbContext, object> factory = null) where T : class;
    }
}